/**
 * This file Copyright (c) 2003-2009 Magnolia International
 * Ltd.  (http://www.magnolia-cms.com). All rights reserved.
 *
 *
 * This file is dual-licensed under both the Magnolia
 * Network Agreement and the GNU General Public License.
 * You may elect to use one or the other of these licenses.
 *
 * This file is distributed in the hope that it will be
 * useful, but AS-IS and WITHOUT ANY WARRANTY; without even the
 * implied warranty of MERCHANTABILITY or FITNESS FOR A
 * PARTICULAR PURPOSE, TITLE, or NONINFRINGEMENT.
 * Redistribution, except as permitted by whichever of the GPL
 * or MNA you select, is prohibited.
 *
 * 1. For the GPL license (GPL), you can redistribute and/or
 * modify this file under the terms of the GNU General
 * Public License, Version 3, as published by the Free Software
 * Foundation.  You should have received a copy of the GNU
 * General Public License, Version 3 along with this program;
 * if not, write to the Free Software Foundation, Inc., 51
 * Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
 *
 * 2. For the Magnolia Network Agreement (MNA), this file
 * and the accompanying materials are made available under the
 * terms of the MNA which accompanies this distribution, and
 * is available at http://www.magnolia-cms.com/mna.html
 *
 * Any modifications to this file must keep this entire header
 * intact.
 *
 */
package com.google.code.mgnlgroovy.scheduler;

import java.util.HashMap;
import java.util.Map;


/**
 * @author philipp
 * @version $Id: JobDefinition.java 3 2009-04-16 22:48:19Z federico.grilli $
 */
public class JobDefinition
{

    private String name;

    private String description;

    private boolean active = false;

    private String cron;

    private String command;

    private String catalog;

    private String groovyScript;

    private Map params = new HashMap();

    private Long startTime = 0L;

    private Long endTime = 0L;

    private Long lastFireTime = 0L; 

    private Long nextFireTime = 0L;

    private boolean terminatedWithError = false;

    public JobDefinition()
    {
    }

    public String getName()
    {
        return this.name;
    }

    public void setName(String name)
    {
        this.name = name;
    }

    public boolean isActive()
    {
        return this.active;
    }

    public void setActive(boolean active)
    {
        this.active = active;
    }

    public String getCatalog()
    {
        return this.catalog;
    }

    public void setCatalog(String catalogue)
    {
        this.catalog = catalogue;
    }

    public String getCommand()
    {
        return this.command;
    }

    public void setCommand(String command)
    {
        this.command = command;
    }

    public String getCron()
    {
        return this.cron;
    }

    public void setCron(String cron)
    {
        this.cron = cron;
    }

    public Map getParams()
    {
        return this.params;
    }

    public void setParams(Map params)
    {
        this.params = params;
    }

    public void setGroovyScript(String groovyScript)
    {
        this.groovyScript = groovyScript;
    }

    public String getGroovyScript()
    {
        return groovyScript;
    }

    public Long getStartTime()
    {
        return startTime;
    }

    public void setStartTime(Long startTime)
    {
        this.startTime = startTime;
    }

    public Long getEndTime()
    {
        return endTime;
    }

    public void setEndTime(Long endTime)
    {
        this.endTime = endTime;
    }

    public Long getLastFireTime()
    {
        return lastFireTime;
    }

    public void setLastFireTime(Long lastFireTime)
    {
        this.lastFireTime = lastFireTime;
    }

    public Long getNextFireTime()
    {
        return nextFireTime;
    }

    public void setNextFireTime(Long nextFireTime)
    {
        this.nextFireTime = nextFireTime;
    }

    public boolean isTerminatedWithError()
    {
        return terminatedWithError;
    }

    public void setTerminatedWithError(boolean terminatedWithError)
    {
        this.terminatedWithError = terminatedWithError;
    }

    public String getDescription()
    {
        return description;
    }

    public void setDescription(String description)
    {
        this.description = description;
    }
}
